package tabla_simbolos;


public class Campo {
	/*Atributos*/
	private String id;
	private int desp;
	private int tam;
	private Registro propsReg;
	private Puntero propsPunt;
	private Array propsArray;
	private Variable propsVar;
	private Referencia propsRef;
	private TipoBasico propsTBas;
	
	/*Constructora*/
	public Campo(String id, int desp, Registro propsReg) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsReg(propsReg);
		this.setPropsRef(null);
		this.setPropsVar(null);
		this.setPropsArray(null);
		this.setPropsPunt(null);
		this.setPropsTBas(null);
	}
	
	public Campo(String id, int desp, Variable propsVar) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsVar(propsVar);
		this.setPropsRef(null);
		this.setPropsArray(null);
		this.setPropsReg(null);
		this.setPropsPunt(null);
		this.setPropsTBas(null);
	}

	public Campo(String id, int desp, Referencia propsRef) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsRef(propsRef);
		this.setPropsVar(null);
		this.setPropsArray(null);
		this.setPropsReg(null);
		this.setPropsPunt(null);
		this.setPropsTBas(null);
	}
	
	public Campo(String id, int desp, Array propsArray) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsArray(propsArray);
		this.setPropsRef(null);
		this.setPropsVar(null);
		this.setPropsReg(null);
		this.setPropsPunt(null);
		this.setPropsTBas(null);
	}
	
	public Campo(String id, int desp, Puntero propsPunt) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsPunt(propsPunt);
		this.setPropsRef(null);
		this.setPropsVar(null);
		this.setPropsArray(null);
		this.setPropsReg(null);
		this.setPropsTBas(null);
	}
	public Campo(String id, int desp, TipoBasico propsTBas) {
		this.setId(id);
		this.setDesp(desp);
		this.setPropsPunt(null);
		this.setPropsRef(null);
		this.setPropsVar(null);
		this.setPropsArray(null);
		this.setPropsReg(null);
		this.setPropsTBas(propsTBas);
	}
	
	/*Get&Set*/
	public void setId(String id) {this.id = id;}
	public String getId() {return id;}
	public void setDesp(int desp) {this.desp = desp;}
	public int getDesp() {return desp;}
	public Registro getPropsReg() {return propsReg;}
	public void setPropsReg(Registro propsReg) {this.propsReg = propsReg;}
	public Puntero getPropsPunt() {return propsPunt;}
	public void setPropsPunt(Puntero propsPunt) {this.propsPunt = propsPunt;}
	public Array getPropsArray() {return propsArray;}
	public void setPropsArray(Array propsArray) {this.propsArray = propsArray;}
	public Variable getPropsVar() {return propsVar;}
	public void setPropsVar(Variable propsVar) {this.propsVar = propsVar;}
	public Referencia getPropsRef() {return propsRef;}
	public void setPropsRef(Referencia propsRef) {this.propsRef = propsRef;}
	public int getTam() {return tam;}
	public void setTam(int tam) {this.tam = tam;}
	public TipoBasico getPropsTBas() {return propsTBas;}
	public void setPropsTBas(TipoBasico propsTBas) {this.propsTBas = propsTBas;}

}
